17.3 自己消去式リードバリア
readバリアはwriteバリアに比べて重い(readはwriteに比べて回数が多い)ので、readバリアを無くしたい
Cheadle によって、GHCのBakerスタイルのGCに対して、リードバリアを消す手法が実装された
GHCでは、全オブジェクトはクロージャとして表現されており、クロージャのエントリコードを実行することで評価される。
GC時には、通常のコードの前に加えて、トランポリン的に『自分自身を脱出(自身のオブジェクトをto空間にコピー)させるコード』を実行させるようにする。
なんとなくBrooksの手法に近いものを感じる
コード量がちょっと(25%程度)増えると見積もられている。